package S04;
//(1)所有的枚举类，其父类都是Enum，它提供有一些方法：
//(2)比如name()返回定义的枚举常量的名字，ordinal()返回定义枚举常量从0开始的顺序。
//toString()的返回值和name()相同，但name和ordinal方法都是final最终的，不能重写，
//而toString可以重写。
//(3)另外在定义枚举时，编译器会自动插入一些静态的方法，
//比如：values()方法可返回一个包含定义的所有枚举常量的数组，
//valueOf(String)可将字符串转换为枚举值。
public class N02 {
	public static void main(String[] args) {
		System.out.println(Sex.class);//枚举的父类是java.lang.Enum
		System.out.println(Sex.class.getSuperclass());//枚举的父类是java.lang.Enum
		System.out.println(Enum.class.getSuperclass());//Enum的父类是java.lang.Object
		Sex[] values = Sex.values(); //获取Sex枚举的所有取值，保存倒Sex数组中
		for(Sex sex: values) { 
			System.out.println(sex.ordinal()+"\t"+ sex.name()+"\t"+sex.toString());
		}
		Sex sex = Sex.valueOf("MALE");//将字符串转换为枚举值
		System.out.printf("字符串转换为枚举值：%s，枚举值的比较：%b", sex, sex==Sex.MALE);
	}

}
